Computer software applications allow users to create a variety of documents to assist them in work, education and leisure. For example, word processing applications allow users to create letters, articles, books, memoranda and the like. Spreadsheet applications allow users to store, manipulate, print and display a variety of alphanumeric data. Such applications have a number of well-known strengths including rich editing, formatting, printing, and calculation.
With the advent of modern databases, users are able to amass and manipulate large quantities of data associated with a variety of different subjects. Often, databases are located on a user's computer, or databases may be included on remote servers including remote Internet-based servers. Often many users may have access to a single database where each of the users add to, delete from, and manipulate data contained therein. For example, if a number of users constitute a project team developing a specification for a new type of computer software, each of the users may be assigned access to a shared document library contained on a given database. Accordingly, if a first user changes a section of the data contained in the specification, that change will be updated on the database and will be accessible by other users. Subsequently, another authorized user may gain access to the database to see changes made by the first user and to make additional changes or updates. Accordingly, each of the users may develop and contribute to the data contained and managed in the database in a collaborative manner.
Often, a user or group of users must assemble data from a given database into a letter, memorandum, article, spreadsheet, or other document for presenting the data to others. Continuing with the example described above, members of a software development team may be required at various points in a project to assemble the data contained in their shared database into a single document, such as a specification document, to present that document to future users of the new software or to a reviewer of the project. Unfortunately, once the document is prepared, the document becomes a static presentation of the data assembled from the database as it existed just before preparation of the document. If members of the project team update the data in the database after preparation of an initial draft of the document, the document must then be manually updated to reflect changes in the data upon which the document is based. Likewise, if during the preparation of the document, members make changes to data being placed in the document, the corresponding data in the database must then be manually updated to reflect changes made to the document that are not reflected in the data contained in the database.
Accordingly, there is a need for methods and systems for mapping and linking parts of document content to corresponding fields or queries in a database so that updates to the corresponding data in the database will automatically update corresponding parts of the document, and updates to parts of the document will automatically update the corresponding data in the database. It is with respect to these and other considerations that the present invention has been made.